From 452118602bc3f97b26f463be1f2252f365632ca5 Mon Sep 17 00:00:00 2001 From: "cl349@firebug.cl.cam.ac.uk" Date: Wed, 1 Feb 2006 13:46:15 +0000 Subject: [PATCH] fix compilation breaking when compiling time.c with FRAME_POINTER on x86_64 Signed-off-by: Vincent Hanquez --- linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c index 78e7fb0010..32a53bfaae 100644 --- a/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c +++ b/linux-2.6-xen-sparse/arch/i386/kernel/time-xen.c @@ -541,16 +541,22 @@ unsigned long long sched_clock(void) } #if defined(CONFIG_SMP) && defined(CONFIG_FRAME_POINTER) +#ifdef __x86_64__ +#define REG_BP rbp +#else +#define REG_BP ebp +#endif unsigned long profile_pc(struct pt_regs *regs) { unsigned long pc = instruction_pointer(regs); if (in_lock_functions(pc)) - return *(unsigned long *)(regs->ebp + 4); + return *(unsigned long *)(regs->REG_BP + 4); return pc; } EXPORT_SYMBOL(profile_pc); +#undef REG_BP #endif irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) -- 2.30.2